Distributed data processing is a form of information processing in which workload is performed by separate computers linked through a communication network. One form of distributed data processing which is currently widely used is dynamic workload balancing in a message driven transaction environment. Such message driven environments are described in U.S. Pat. No. 5,799,173 and in the text, Production Workflow, Concepts and Techniques, Frank Leymann et al., published 2000, Prentice Hall, New Jersey. In a message driven transaction environment, communication between the user who initiates the transaction on a client computer and the computer systems to which portions of the transaction are dynamically distributed for performance or execution is based upon messages put into sequences of queues. A message may be considered to be a service request or a reply distributed and allocated via a server computer.
In a typical dynamic workload balancing system or process, a user on a client computer initiates a data transaction or sequence of transactions. The initiation data is sent to a server computer or a set of server computers that create the transactions. The server computer(s) are linked to other computer systems that may be individual computers or servers respectively connected to other sets of computers. A data transaction for purposes of the present description is defined as a discrete activity performed by a computer system. A transaction may be as simple as the entry of a customer order or the update of an inventory item. It may be as complex as a substantial portion of a computer program or routine. In message driven transaction environments the transactions are distributed or divided into messages which are allocated through queues and sequences of queues to linked computers or computer systems for message execution or performance.
The primary advantage of workload balancing systems is the ability to distribute and balance workload on computer systems operating on multiple platforms. The workload is allocated via message queues so that the balancing and allocation is transparent to the user and his input workload appears to be operating as if it were being done on an individual computer. All of the networking protocols in the distribution and message allocation needed to complete user input transaction requests are invisible to the user. An example of a workload balancing system can be found in International Business Machines Corporation MQSeries™ application programs. MQSeries for WindowsNT™, is described in the above Leymann et al. text at pp. 320-338 incorporated by reference herein.
Due to the transparent nature of the workload balancing operation, there are cases where messages are delayed or even lost in distribution and allocation. In current workload balancing systems, there is no user friendly process for tracking lost or delayed messages. In order to track a lost message a system administrator must go to each queue manager's queue on any computer system that could have possibly received a message from the workload balancing algorithm. Even then, if the administrator is trying to track an individual message's route, the task is made particularly difficult if the message has for some reason been removed from the message queue at any particular point.
In a complex workload distribution network with a hierarchy of several levels of computer systems with appropriate servers having queue manager's queues, and, in some cases, even intermediate Internet channels or connections, the difficulty of tracking becomes even more apparent.